-
Notifications
You must be signed in to change notification settings - Fork 952
[ibex] Add Zcb and Zcmp extensions #28997
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
3097cd4 to
f3411ef
Compare
Update code from upstream repository https://github.com/lowRISC/ibex.git to revision 0c233f54361d769f370889223acc456f2ac19d46 * [formal] Disable the Zc* extensions for formal verification (Samuel Riedel) * [rtl] Make Zcmp state registers resettable (Samuel Riedel) * [rtl] Compute `gets_expanded_o` only if the instruction is valid (Samuel Riedel) * [rtl] Add assertion to ensure the push/pop FSM only advances if valid (Samuel Riedel) * [rtl] Only start the push/pop FSM if the instruction is valid (Samuel Riedel) * [rtl] Optimize the Zcmp FSM (Samuel Riedel) * [rtl] Add explanations to the Zcmp state machine (Samuel Riedel) * [rtl] Fix handshake on compressed decoder (Samuel Riedel) * [rtl] Annotate traces with expanded instruction information (Samuel Riedel) * [rvfi] Track expanded instruction in rvfi (Samuel Riedel) * [rtl] Track last expanded instruction (Samuel Riedel) * [doc] Add Zcb and Zcmp extension to documentation (Samuel Riedel) * [rtl] Parametrize Zcb and Zcmp extensions (Samuel Riedel) * [rvfi] Output expanded instructions (except for the last one) (Andreas Kurth) * [rtl] Implement Zcmp extension (Andreas Kurth) * [rtl] Implement the Zcb extension (Elias Christen) Signed-off-by: Samuel Riedel <sriedel@lowrisc.org>
Signed-off-by: Samuel Riedel <sriedel@lowrisc.org>
f3411ef to
6626f3a
Compare
Update code from upstream repository https://github.com/lowRISC/ibex.git to revision 75ef275cb34b7cae55325a1d64d8672a0cd72269 * [rtl] Lint fixes for recent Zc code (Andreas Kurth) * [doc] Clarify usage of data independent timing & branch prediction (Pascal Nasahl) * [doc] PMP instruction fetch check clarified (Marno van der Maas) Signed-off-by: Pascal Nasahl <nasahlpa@lowrisc.org>
rswarbrick
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks sensible to me, and thanks for splitting up the Ibex bump cleanly.
|
CHANGE AUTHORIZED: hw/top_earlgrey/data/top_earlgrey.hjson This is an intentional bump to a new version of Ibex (which implies design changes, of course) |
1 similar comment
|
CHANGE AUTHORIZED: hw/top_earlgrey/data/top_earlgrey.hjson This is an intentional bump to a new version of Ibex (which implies design changes, of course) |
andreaskurth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great work, thanks @SamuelRiedel!
This will enable the Zcb and Zcmp ISA extensions on Ibex for Earlgrey and Darjeeling (in RTL, compiler change to follow).
Approving as the RTL has been reviewed upstream (Ibex repo) and the change is covered by an approved RFC.
This PR vendors in the updated version of Ibex that contains the Zcb and Zcmp extensions as discussed in the RFC: Zcb and Zmp ISA extensions. These extensions are enabled by defaut, but can be disabled through the RV32ZC parameter.
The details are discussed in the corresponding Ibex PRs: